<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>
if (window.internals)
  internals.settings.setEditingBehavior('win');

selection_test(
  '<div contenteditable dir="ltr">|אבד opq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד |opq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  '18-0 right word');

selection_test(
  '<div contenteditable dir="ltr">א|בד opq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד |opq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  '18-1 right word');

selection_test(
  '<div contenteditable dir="ltr">אב|ד opq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד |opq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  '18-2 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד| opq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">\u05D0\u05D1\u05D3 |opq \u05D3\u05E2\u05E4 <span>abc \u05D0\u05D0\u05D0 def</span>\u05D5\u05D5\u05E9 rst \u05DB\u05D8\u05D6</div>',
  '18-3 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד |opq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq |דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  '18-4 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד o|pq דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq |דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  '18-5 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד op|q דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq |דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  '18-6 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq| דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">\u05D0\u05D1\u05D3 opq |\u05D3\u05E2\u05E4 <span>abc \u05D0\u05D0\u05D0 def</span>\u05D5\u05D5\u05E9 rst \u05DB\u05D8\u05D6</div>',
  '18-7 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq |דעפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ |<span>abc אאא def</span>ווש rst כטז</div>',
  '18-8 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq ד|עפ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ |<span>abc אאא def</span>ווש rst כטז</div>',
  '18-9 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דע|פ <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ |<span>abc אאא def</span>ווש rst כטז</div>',
  '18-10 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ| <span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">\u05D0\u05D1\u05D3 opq \u05D3\u05E2\u05E4 |<span>abc \u05D0\u05D0\u05D0 def</span>\u05D5\u05D5\u05E9 rst \u05DB\u05D8\u05D6</div>',
  '18-11 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ |<span>abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc |אאא def</span>ווש rst כטז</div>',
  '18-12 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>|abc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc |אאא def</span>ווש rst כטז</div>',
  '18-13 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>a|bc אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc |אאא def</span>ווש rst כטז</div>',
  '18-14 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>ab|c אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc |אאא def</span>ווש rst כטז</div>',
  '18-15 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc| אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">\u05D0\u05D1\u05D3 opq \u05D3\u05E2\u05E4 <span>abc |\u05D0\u05D0\u05D0 def</span>\u05D5\u05D5\u05E9 rst \u05DB\u05D8\u05D6</div>',
  '18-16 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc |אאא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא |def</span>ווש rst כטז</div>',
  '18-17 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc א|אא def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא |def</span>ווש rst כטז</div>',
  '18-18 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אא|א def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא |def</span>ווש rst כטז</div>',
  '18-19 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא| def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">\u05D0\u05D1\u05D3 opq \u05D3\u05E2\u05E4 <span>abc \u05D0\u05D0\u05D0 |def</span>\u05D5\u05D5\u05E9 rst \u05DB\u05D8\u05D6</div>',
  '18-20 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא |def</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש |rst כטז</div>',
  '18-21 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא d|ef</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש |rst כטז</div>',
  '18-22 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא de|f</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש |rst כטז</div>',
  '18-23 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def|</span>ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש |rst כטז</div>',
  '18-24 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>|ווש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש |rst כטז</div>',
  '18-25 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ו|וש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש |rst כטז</div>',
  '18-26 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>וו|ש rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש |rst כטז</div>',
  '18-27 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש| rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">\u05D0\u05D1\u05D3 opq \u05D3\u05E2\u05E4 <span>abc \u05D0\u05D0\u05D0 def</span>\u05D5\u05D5\u05E9 |rst \u05DB\u05D8\u05D6</div>',
  '18-28 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש |rst כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst |כטז</div>',
  '18-29 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש r|st כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst |כטז</div>',
  '18-30 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rs|t כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst |כטז</div>',
  '18-31 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst| כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">\u05D0\u05D1\u05D3 opq \u05D3\u05E2\u05E4 <span>abc \u05D0\u05D0\u05D0 def</span>\u05D5\u05D5\u05E9 rst |\u05DB\u05D8\u05D6</div>',
  '18-32 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst |כטז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst כטז|</div>',
  '18-33 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst כ|טז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst כטז|</div>',
  '18-34 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst כט|ז</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst כטז|</div>',
  '18-35 right word');

selection_test(
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst כטז|</div>',
  selection => selection.modify('move', 'right', 'word'),
  '<div contenteditable dir="ltr">אבד opq דעפ <span>abc אאא def</span>ווש rst כטז|</div>',
  '18-36 right word');
</script>
